﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 namespace Base.Common.Entity {
    /**
    *┌────────────────────────────────────────────────┐
    *│　描    述：StockStatus                                                    
    *│　作    者：sgj                                              
    *│　版    本：1.0                                              
    *│　创建时间：2020/10/29 11:46:14                        
    *└────────────────────────────────────────────────┘
    **/
    //库外：即将进入库房的状态
    //入库中：正在进行入库搬运的状态
    //出库中：正在进行出库命令的状态
    //移库中：库房内从一个位置移到另一个位置的状态
    //渡库中（入出库中）：经过库房不在库房停留的状态
    //出入库：出库后会回库的状态
    //盘库中：出入库但货位不变的状态
    //库存：在货位上可发起其他流程的状态
    //编辑：用户准备状态
    //删除：库房系统中失效状态
    public enum StockStatus {
        库外 = 0, 入库中 = 1, 出库中 = 2, 移库中 = 3, 渡库中 = 4, 
        出入库中 = 5, 盘库中 = 6, 库存 = 7, 编辑 = 8, 删除 = -1
    }
    //移库中货位移动，明细为库存
    public enum StockDetailStatus {
        库外 = 0, 
        入库中 = 1,
        出库中 = 2, 
        移库中 = 3,
        渡库中 = 4,
        PDA拣选 = 5, //出库中会直接转为删除，pda拣选后，转为删除，剩余入库时直接转为入库中
        库存 = 7, 
        删除 = -1
    }
    public enum TaskType {
        珏 = 1,  环 = 6
    }
    public enum CoreTaskStatus {//complete 没有结束状态
         新建=1, 执行中=2, 结束=9
    }
   
    public enum CoreTaskParamStatus {
        新建 = 1, 可以接收任务 = 2, 下发完成 = 3, 执行完成 = 9, 删除 = -1
    }
      public enum WcsTaskStatus {
        终止 = -2,// 需要上报mes，条码错误托盘损坏等异常情况,无法继续下面的任务
        取消 = -1,// 需要上报mes，回滚数据
        未知 = 0,
        待执行 = 1,
        取货行走中 = 2,
        取货中 = 3,
        空取 = 4,// 需要上报mes
        取货完成 = 5,
        放货行走中 = 6,
        满放变更 = 7,// 需要上报mes
        放货中 = 8,
        执行结束 = 9//单步完成
   
    }
    public enum TaskParamType {
        起始 = 1,
        托盘搬运 = 2,//对整托的运输 包括 输送线 垛机，rgv agv 
        机器人分解 = 3,//param下划线前是[Core_Task]的id ，后面是放置位置
        托盘搬运变更 = 4,//对整托的运输 包括 输送线 垛机，rgv agv
        自定义搬运=5,//不经过wms的搬运
        结束 = 9//表示可以备份wcs数据
    }
     
    public class EnumUtil {
        public static int toInt(Object e) {
            return ( int ) e ;
        }
     }
}
